iT邦幫忙

0

Microsoft Azure Machine Learning - Day 2

  • 分享至 

  • xImage
  •  

Chap.I Practical drill 實戰演練

以下內容來自這裡

Prat1. Create Azure ML Workspace

此處將會練習創建 Azure ML,使用其內建的筆記本功能(內容來自這裡

1-1. 創建一個 ML 環境

所有服務 → AI + 機器學習服務 → 機器學習

基本
資源群組:RG1(隨便取)
工作區名稱:WS(隨便取)
區域:美國西部(此處建議美西或日本,網路比較順)
https://ithelp.ithome.com.tw/upload/images/20220126/20138527VgvFLF9Z14.png

建立

1-2. 開啟 python 編寫筆記本

前往資源 → 啟動工作區
https://ithelp.ithome.com.tw/upload/images/20220126/201385276PKn7rgl7o.png

新增筆記本
https://ithelp.ithome.com.tw/upload/images/20220126/20138527gWrT2yl60J.png

此時會發現右上角顯示「找不到任何計算」,那是因為目前我們尚未建立虛擬機

1-3. 建立虛擬機

在左側可以發現互動按鈕,點選「計算」後,上方出現四個選項

  1. 計算執行個體:建立一台虛擬機,用於開發階段。
  2. 計算叢集:建立多台虛擬機,會互相支援,當遇災害時可無縫接軌計算工作,用於開發階段。
  3. 推斷 (inference) 叢集:使用訓練後的模型,去預測服務的目標
  4. 附加的計算:鏈接到其他 Azure 計算資源,如:其他虛擬機、Azure Databricks...等

此時,我們先選擇建立計算執行個體
https://ithelp.ithome.com.tw/upload/images/20220126/20138527kU8nJFFkP6.png

必要設定
計算名稱:myCP(隨便取)
虛擬機器類型:CPU(比較省錢)
核心類型選:Standard_DS11_v2(比較省錢)
https://ithelp.ithome.com.tw/upload/images/20220126/20138527wrh76O81DH.png

進階設定
使用預設即可

建立

1-4. 使用筆記本

回到筆記本,會發現已經可以選用剛建立的虛擬機來計算
https://ithelp.ithome.com.tw/upload/images/20220126/20138527woOamgkzyf.png

這時我們用以下程式碼,試著把連線到這的主機名稱印出來
首先,安裝套件

pip install azureml-sdk

嘗試印出所有連線的主機名稱

from azureml.core import Workspace

ws = Workspace.from_config()
for compute_name in ws.compute_targets:
    compute = ws.compute_targets[compute_name]
    print(compute_name, ':', compute.type)

此時會發現下方出現一排文字:
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code EET7MBNGK to authenticate.

照著指示點擊網站,輸入驗證碼(也就是 EET7MBNGK)並登入就可以了

>>  myCP : ComputeInstance

1-5. 刪除資源

Prat2. Use Automated Machine Learning

此處將會練習創建 Automated ML,並用其評估模型(內容來自這裡

2-1. 配置機算資源

計算 → 計算叢集 → 新增

虛擬機器
位置:美國西部(連線比較快)
虛擬機器類型:CPU(比較省錢)
核心類型選:Standard_DS11_v2(比較省錢)
https://ithelp.ithome.com.tw/upload/images/20220126/201385270f2rpTb2eW.png

進階設定
計算名稱:Cluster(隨便取)
節點數目下限:0(閒置的時候會自動關閉多餘此數量的虛擬機)
節點數目上限:2

建立

2-2. 建立資料集

首先把這裡的資料下載下來,存成 diabetes.csv 檔名
接著選擇資料集 → 建立資料集 → 來自本機的檔案
https://ithelp.ithome.com.tw/upload/images/20220126/20138527a5DWu3qYGp.png

基本資訊
名稱:diabetes.csv
資料集類型:表格式
描述:Diabetes data(隨便)
https://ithelp.ithome.com.tw/upload/images/20220126/20138527Joo4j1aiu1.png

資料存放區與檔案選取
為你的資料集選取檔案 → 上傳檔案 → 找到剛才存到電腦中的 diabetes.csv
https://ithelp.ithome.com.tw/upload/images/20220126/20138527gzwkkcu6AR.png

設定與預覽
檔案格式:分隔符號(其它選項還有純文字、Parquet 檔案、JSON 行等)
分隔符號:逗號(看你的檔案用什麼分隔資料)
編碼:UTF-8
資料行標頭:所有檔案都有相同的標頭
(V) 資料集包含多行資料
https://ithelp.ithome.com.tw/upload/images/20220126/20138527pZnKOVT8WB.png

結構描述
使用預設即可

確認詳細資料

建立

2-3. 佈置一個自動化 ML

自動化 ML 即是讓 Azure ML 自動幫你使用資料集計算,找出最佳 model

自動化 ML → 新增自動話 ML 回合
https://ithelp.ithome.com.tw/upload/images/20220126/20138527eHRyFpp4GW.png

選取資料集
選取 diabetes.csv
https://ithelp.ithome.com.tw/upload/images/20220126/20138527FzM7r8QeGw.png

實驗名稱
新增實驗名稱:mslearn-automl-diabetes(隨便)
目標資料行:Diabetic(這個欄位是選擇資料集中的 y 值)
選取計算類型:計算叢集
選取 Azure ML 計算叢集:Cluster
https://ithelp.ithome.com.tw/upload/images/20220126/20138527hQPrXt3354.png

選取工作和設定
因為這個資料集是糖尿病,因此選擇分類(預設就是分類)

點選下方「檢視其他組態設定」
https://ithelp.ithome.com.tw/upload/images/20220126/20138527GQil46OSEy.png

其他組態
主要計量:加權後的 AUC(採用 AUC 對模型評分)
(V) 解釋最佳模型
封鎖的演算法:(有些模型不適合演算此類型資料,可以從這裡剃除)
訓練作業小時:0.5(作業超過半小時就結束演算)
計量分數閾值:0.90(90% AUC 以上會結束演算)

儲存

驗證和測試

2-4. 查看模型評分

實驗 → mslearn-automl-diabetes → khaki_rhubarb_3p1l7btj → 詳細資料
最佳演算法名稱:MaxAbsScaler, LightGBM
加權後的 AUC:0.98996
https://ithelp.ithome.com.tw/upload/images/20220126/20138527XIEGLghFNx.png

2-5. 將訓練好的模型部屬

接續上一步驟,點擊 MaxAbsScaler, LightGBM → 部屬 → 部屬到 Web 服務
https://ithelp.ithome.com.tw/upload/images/20220126/20138527B7XR49zlRG.png

部屬模型
名稱:auto-predict-diabetes(隨便)
描述:Predict diabetes(隨便)
計算類型:Azure 容器執行個體
(V) 啟用驗證
(X) 使用自訂部屬資產

部屬

2-6. 測試部屬服務

端點 → 測試 → 選擇資料輸入方式(此處為 csv) → 測試
https://ithelp.ithome.com.tw/upload/images/20220126/20138527C1HH8CM59f.png

可以看到兩位病患都成功被預測為 1!!!

2-7. 刪除資源

Prat3. Use Azure Machine Learning Designer

此處將會練習 Azure Machine Learning Designer 創建模型(內容來自這裡

Azure ML 提供了設計 pipeline 的功能,可以自定義想要的生產管線;或者使用現成的範本操作。
我們就直接使用 Part2. 建立的「計算叢集」與「資料集」來操作,不額外建立。

3-1. 建立自己的 pipeline

設計工具 → 新增管線 → 易於使用的預建模組
https://ithelp.ithome.com.tw/upload/images/20220126/20138527nyrmFF1jd7.png

點選小齒輪進入設定
選取計算類型:計算叢集
選取 Azure ML 計算叢集:Cluster
https://ithelp.ithome.com.tw/upload/images/20220126/20138527FXbxKG5IPe.png

接著會看到一面灰色的畫布,我們會在這建立自訂的管線

Datasets
首先,點選 Datasets,用滑鼠將其拖曳至畫布
https://ithelp.ithome.com.tw/upload/images/20220126/20138527yPcv90HDWz.png

Normalize Data
接著在搜尋欄查找 Normalize Data 並拖曳到畫布,將 Datasets 連接到 Normalize Data
https://ithelp.ithome.com.tw/upload/images/20220127/20138527SdKF1wR2Rf.png

此時點選 Normalize Data,系統會要求我們選取「需要標準化」的欄位
https://ithelp.ithome.com.tw/upload/images/20220126/20138527WaBsxOtYPd.png

依次輸入以下欄位:

  1. PlasmaGlucose
  2. DiastolicBloodPressure
  3. TricepsThickness
  4. SerumInsulin
  5. BMI
  6. DiabetesPedigree
    https://ithelp.ithome.com.tw/upload/images/20220127/20138527X1vqwZ0jcI.png

Split Data
第三步是分割資料,一樣拖曳到畫布,將 Normalize Data 連接到 Split Data

值得注意的是,分割方法有以下三種

  1. Split Rows:用「指定比例(預設 50-50)」將資料拆成「兩份」。
  2. Regular Expression:用「單列的值」劃分。如:性別、有/無抽菸...等。
  3. Relative Expression:不等量切割,用「數字區間」劃分。如:成本、年齡或日期...等。

Split mode:因為是分析糖尿病,所以選擇 Split Rows 就好。
Fraction of rows
https://ithelp.ithome.com.tw/upload/images/20220127/20138527gp9BSIo08M.png

Train Model
第四步,把 Train Model 拖曳進畫布,並把 Split Data 連接到 Train Model 的「右上」(稍後會解釋)。
https://ithelp.ithome.com.tw/upload/images/20220127/20138527w9pQp4QDsK.png

接著點畫布中的 Train Model,設定 Label Column:Diabetic(要分析的 y)
https://ithelp.ithome.com.tw/upload/images/20220127/20138527F0VMkKFM57.png

Two-Class Logistic Regression
選擇一個演算法,這邊選用的是 Two-Class Logistic Regression。
將它拖曳到 Split Data 的左方;Train Model 的上方,並將它與 Train Model 連接。
這邊的意義是,Train Model 將 Split Data 的資料用 Logistic Regression 建模。
https://ithelp.ithome.com.tw/upload/images/20220127/20138527Dzp4n4uLEr.png

Score Model
第五步,把 Score Model 拖曳進畫布,把 Train Model 連接到 Score Model 的「左上」;同時把 Split Data 連接到 Score Model。
這邊的意義是,Score Model 將 Split Data 的資料為 Train Model 跑分。
https://ithelp.ithome.com.tw/upload/images/20220127/2013852773CDvMa1m7.png

Evaluate Model
最後是評分模型,直接拖曳並將 Score Model 連接即可。可同時連接多個模型。
https://ithelp.ithome.com.tw/upload/images/20220127/20138527cePU5IwnNw.png

按下右上角的「提交」,新增實驗名「mslearn-designer-train-diabetes」,就完成了自定義的 Pipeline了~

3-2. 查看資料

完成產線並且執行後,我們可以對單個步驟按右鍵預覽資料。
比方說,我們對 Score Model 按右鍵預覽資料,就可以看到模型的預測機率
https://ithelp.ithome.com.tw/upload/images/20220127/20138527M6jh5j58LS.png

而對 Evaluate Model 查看,則會顯示 ROC (AUC),混淆矩陣等資訊
https://ithelp.ithome.com.tw/upload/images/20220127/201385270OCRE4rSG3.png

3-3. 部屬即時推斷管線

提交完成後,右上角提交旁邊會多出一個「建立推斷管線」,其中又分成:
https://ithelp.ithome.com.tw/upload/images/20220127/20138527FFx4dAodII.png

  1. 即時推斷(Real-Time)管線:呼叫後執行,立即回傳預測結果,問一回一。
  2. 批次推斷(Batch)管線:呼叫後執行,但預測結果將存儲於主機,待全部資料解析完成,方可手動查詢。

這邊為了方便,選擇即時推斷管線就好,完成後如下
https://ithelp.ithome.com.tw/upload/images/20220127/20138527nKXITBGcmd.png

接著按右上角「提交」,新增實驗名「mslearn-designer-predict-diabetes」
https://ithelp.ithome.com.tw/upload/images/20220127/20138527Ay4XQYtoKO.png

3-4. 部屬即時端點

提交完成後,就可以按右上角「部屬」,進入設定畫面

名稱:designer-predict-diabetes
描述:Predict diabetes.
計算類型:Azure 容器執行個體
https://ithelp.ithome.com.tw/upload/images/20220127/20138527kbLsUkdGEj.png

部屬完成後,在端點就可以看到部屬完成了!
https://ithelp.ithome.com.tw/upload/images/20220205/20138527Wgi68vVSIX.png
.
.
.
.
.

補充

https://ithelp.ithome.com.tw/upload/images/20220126/20138527ojEHuHNPb2.png

虛擬機與容器最大的差異在於,虛擬機有 Guest Operating System (Guest OS),而容器則無。
相同的資源量,Docker 的利用率更高,可以設定更多的 Containers,且啟動速度更快。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言